home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1998 July
/
EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso
/
recent
/
iib122.lha
/
IIB
/
Threads
/
Render_times_go_high
< prev
next >
Wrap
Internet Message Format
|
1998-05-01
|
7KB
Date: Fri, 24 Apr 1998 20:20:13 -0700
From: Matthew j Roddy <mjroddy@JUNO.COM>
Subject: Re: [IML] IFW:Render times go nuts!
Very perplexing! I have a fairly simple character who is simply standing
in front of the camera. But I would like him to have a background, as I
am sure you can imagine. When I use a BMP as a backdrop and ray trace,
the scene takes about 32 seconds to finish. So I add a two poly plane
for a ground (which is out of camera view at this point), change nothing
eles, and the rendering times JUMPS to over 4 minutes! JUST FOR A PLANE!
WOW! Can this be explained in simple terms even I can understand?-)
Thanks for all advice and ideas!
----------------------------------
Date: Sat, 25 Apr 1998 03:29:44 -0500
From: "Stephen G." <sgiff@AIRMAIL.NET>
Actually I can but I'm sure there are people here who can explain it
better who understand what is happening. The plane you added as a
ground, you probably scaled to a fairly large size maybe even to the
limits of Imagine's world size. This is where Imagine's Octovolume
routines come into play. Octovolumes seem to be a way of optimizing
Imagine's render times so that when you render a scene, Imagine only
needs to compute the rays that strike in the area of the actual scene.
If you have a small central scene with characters or objects placed
within a scene that contains very large objects in terms of dimensions,
not polygons, the Octovolume calculations become confused and begin to
calculate irrational components like the number of rice grains in
china. This causes quite a bit of confusion in imagine's ray bouncing
algorithms and the end result is that they all end up going for coffee
at Starbucks.
O.K. the truth is in there somewhere and I have no Idea how it really
works but it does have something to do with your Octovolume and other
strange words that Impulse has come up with to make Imagine sound more
complicated then it really is. The other advantage is if you use words
like Octovolume around your office people begin to think you are really
smart.
Now where's my beer.
----------------------------------
Date: Sat, 25 Apr 1998 14:34:11 +0400
From: Charles Blaquiere <blaq@INTERLOG.COM>
I believe Stephen is right: adding the large object has made the octree
much more complex. If all you want is a ground plane, have you tried the
Imagine Ground object? (Object/New/Ground) It's "special", and may not
cause your render times to skyrocket. (Just a theory -- try it out)
There are several octree algorithms, and I'm not sure which one Imagine
uses, but here's a very gross approximation to convey the general sense
of what's going on.
How do you divide sand? One way is to split the pile in two, then split
each pile in two, again and again, until you are left with individual
grains of sand. In 3D software, the octree method allows the computer to
separate faces by repeatedly dividing the world into, not two, but eight
parts. (It divides the world in two, along the XY, YZ, and XZ planes,
giving eight pieces)
An octree is a data structure, similar to a family tree, where each node
describes a cubic volume of space, and has up to 8 children. Often,
octrees are built from the top down: take your world volume and split it
into eight cubes. If any cube contains more than one face, split it
again, recursively. When done, you have a structure that describes the
areas of space occupied by faces. This allows Imagine to easily
pinpoint, say, the faces that could potentially be hit by a light ray
travelling from A to B.
Faces that are closely-packed will require many more levels of
subdivision to isolate them, which is why users are advised to enlarge
scenes that only occupy a tiny volume of the total Imagine world space,
since it reduces the number of levels in the octree required to separate
the closest faces in your scene.
Hypothetical example: starting from a volume of 32K units on a side (the
Imagine world), level-1 nodes will describe volumes 16K units on a side,
level-2 nodes are 8K, and so on. By the time you reach level 10, you're
describing cubes of 1024x1024x1024 units, and by the time you reach
level 15, the cubes are 1x1x1 units. Let's suppose this is as small as
Imagine needs to go to separate all your faces. If your scene is
contained within the cube starting at (0,0,0) and extending to
(1024,1024,1024), the first 5 divisions are useless, since they don't
separate any of the faces -- everything in your scene will end up in the
same cube of space. This wasted effort in building the octree will be
repeated when traversing it, _repeatedly,_ as Imagine renders your
scene.
Faulty though it may be, this explanation will hopefully shed light on
the mysterious advice to "scale everything up".
----------------------------------
Date: Sat, 25 Apr 1998 11:30:06 -0700
From: Matthew j Roddy <mjroddy@JUNO.COM>
First, thanks for the info! I appreciate it.
Ok. I placed my 200 unit tall character at 0,0,0, which makes him approx
+100 and -100 relative to absolute 0. Set up the camera to get mainly a
head shot with .TIF for a background pic in Globals. Render time is 58
seconds.
I add a backdrop which is 720x480 positioned at 0,600,0. Everything is
within Imagine's world size as I understand it.
The backdrop is full bright so no shadows fall on it, and by itself
renders (raytrace) at about 8 seconds. But when they were both put
together in the same scene, I finally stopped the render after 7 minutes
and it wasn't even half way done!
Very disappointing!
I am running on a Dual PII w/2x266s and 128meg ram.
Again, thanks for you msg, and any further ideas are MOST welcome.
----------------------------------
Date: Sun, 26 Apr 1998 07:09:18 -0500
From: Gregory Denby <gdenby@TWAIN.HELIOS.ND.EDU>
Matthew j Roddy wrote:
>...I finally stopped the render after 7 minutes
>and it wasn't even half way done!
&
>The backdrop is full bright so no shadows fall on it,
I'm infering that there is a shadow caster in the scene, then. It doesn't
matter as far as the renderer is concerned if the backdrop is made bright
to avoid any shadow. The renderer still goes through the whole routine of
making the shadows throughout the larger space. The last few versions
of Imagine set the world size automatically, so adding the backdrop with
a dimension of 720 i.u. makes the world size at least a cube with a size
720 on a side, instead of 200 with just the figure. Lots more space for all
the rays to go bouncing around. Here's an idea, if you have no reflections in
scene. Reduce the recursion level for the render. Default is eight. Try one
and see what happens.
----------------------------------
Date: Mon, 27 Apr 1998 10:55:39 -0700
From: Matthew j Roddy <mjroddy@JUNO.COM>
>scene. Reduce the recursion level for the render. Default is eight.
>Try one and see what happens.
Gooood idea! I have ONE small item that is reflective (a pair of
glasses). That should need any real reflectivity depth! Very cool.
>?Help any?
Definately! Thanks!
----------------------------------